102 REM ***************************** 104 REM * * 106 REM * MENU SUBROUTINE * 108 REM * DEMONSTRATION PROGRAM * 112 REM * * 114 REM ***************************** 116 REM 118 REM RESERVE P$, POKE MACHINE LANGUAGE 120 P$="" : C=0 : FOR I=50176 TO 50323 : READ J : POKE I,J : C=C+J : NEXT 130 IF C <> 17444 THEN PRINT "ERROR IN DATA STATEMENTS!" : END 132 REM 134 REM SET K$ ARRAY TO REPRESENT 136 REM CHARACTER COLOR CHOICES 138 K$(1)=CHR$(144) : K$(2)=CHR$(5) : K$(3)=CHR$(28) : K$(4)=CHR$(159) 142 K$(5)=CHR$(156) : K$(6)=CHR$(30) : K$(7)=CHR$(31) : K$(8)=CHR$(158) 144 REM 146 REM SET PN AND VARIABLE FOR BORDER 148 REM COLOR CHOICE MENU 149 PN=15 : P$="^BLACK^WHITE^RED^CYAN^PURPLE^GREEN^BLUE^YELLOW^ORANGE" 151 P$=P$ + "^BROWN^LIGHT RED^DARK GRAY^LIGHT GRAY^LIGHT GREEN^LIGHT BLUE" 152 PRINT"[147]" 153 PRINT" WHAT COLOR SHOULD THE BORDER BE?" : PRINT : GOSUB500 :POKE53280,P-1 154 REM 156 REM NOW DO THE BACKGROUND 158 PRINT"[147]" 162 PRINT" WHAT COLOR SHOULD THE BACKGROUND BE?" : PRINT :GOSUB500:POKE53281,P-1 164 PRINT"[147]" 166 REM 168 REM USE A DIFFERENT MENU WITH LESS 172 REM CHOICES FOR CHARACTER COLOR 174 P$="^BLACK^WHITE^RED^CYAN^PURPLE^GREEN^BLUE" 176 PRINT" WHAT COLOR SHOULD THE CHARACTERS BE?":PRINT:GOSUB500:PRINTK$(P):END 476 REM 478 REM 482 REM **************************** 484 REM * * 486 REM * MENU SUBROUTINE * 488 REM * * 492 REM **************************** 494 REM 496 REM SET UP AND JUMP TO MACHINE 498 REM LANGUAGE ROUTINE TO PRINT MENU 500 POKE50179,PN : SYS50176 : PH=PEEK(50180) 502 REM LANGUAGE ROUTINE TO PRINT MENU 512 REM 514 REM NOW INPUT A CHOICE 520 PRINT:PRINT""TAB(15)"CHOICE [157][157][157][157][157][157][157][157][157][157][157]"; : INPUTPT$ :P=VAL(PT$) 530 IFP>0 AND P<=PH THEN RETURN 540 PRINT" CHOOSE A VALUE BETWEEN 1 AND"PH"[145][145][145][145][145][145][145]" : GOTO520 586 REM 588 REM 592 REM THESE ARE THE DATA STATEMENTS 594 REM REPRESENTING THE MACHINE 596 REM LANGUAGE ROUTINE THAT PRINTS 598 REM THE MENU 600 DATA 76,8,196,0,0,0,0,0,160,2,177,45,141,5,196,200,177,45,133,251,200,177 610 DATA 45,133,252,169,0,141,4,196,169,48,141,6,196,141,7,196,160,0,177,251 620 DATA 201,94,208,84,169,13,32,210,255,174,3,196,138,201,0,240,9,169,32,32 630 DATA 210,255,202,76,54,196,173,4,196,24,105,1,141,4,196,173,6,196,201,48 640 DATA 208,2,169,32,32,210,255,173,7,196,201,56,208,9,173,6,196,24,105,1,141 650 DATA 6,196,173,7,196,201,57,208,2,169,47,24,105,1,32,210,255,141,7,196,169 660 DATA 41,32,210,255,169,32,32,210,255,200,173,5,196,56,233,1,141,5,196,201 670 DATA 0,208,149,96